import numpy as np

def fit_polynomial(points, degree):
    """
    根据给定的点和多项式次数，生成拟合的多项式函数。
    
    参数：
    points: 列表，包含元组(x, y)表示点的坐标
    degree: 整数，多项式的次数
    
    返回：
    numpy.poly1d 对象，表示拟合的多项式函数
    """
    x = np.array([p[0] for p in points])
    y = np.array([p[1] for p in points])
    coefficients = np.polyfit(x, y, degree)
    return np.poly1d(coefficients)

# 示例用法
if __name__ == "__main__":
    # 示例点（可修改为实际数据）
    points = [(-6, -4), (-5, 0), (-2, 5), (0, 4), (1, 2), (2, 0), (4, -2), (6, 0), (7, 2)]
    degree = len(points) - 1  # 指定多项式次数
    
    # 生成拟合函数
    poly = fit_polynomial(points, degree)
    
    print("拟合的多项式表达式:")
    print(poly)
    
    print("\n测试拟合结果:")
    for x in points:
        print(f"x={x[0]}, y_pred={poly(x[0]):.2f}")